// 引入MD5函数，确保已经在项目中安装了crypto-js依赖
import { MD5 } from 'crypto-js';

//用于和后端进行校验的token
const auth_token = "c68a28c4-e993-431b-8690-76c24d6a21f3"

/**
 * 生成请求的签名。
 * @param {object} paramsJson 参数对象
 * @returns {string | null} 生成的签名或者在错误情况下返回null
 */
export function genSignature(paramsJson) {
  let buff = "";
  if (paramsJson) {
    // 对参数的键进行字典排序并拼接
    const sortedKeys = Object.keys(paramsJson).sort();
    for (const k of sortedKeys) {
      buff += encodeURIComponent(k) + encodeURIComponent(paramsJson[k]);
    }
  }
  // 将密钥添加到字符串末尾
  buff += auth_token;
  // 使用MD5算法生成哈希值
  return MD5(buff).toString();
}

/**
 * 生成指定范围内的随机整数。
 * @param {number} min 最小值（包含）
 * @param {number} max 最大值（不包含）
 * @returns {number} 范围内的随机整数
 */
export function getRandomInt(min, max) {
  min = Math.ceil(min); // 确保最小值是整数
  max = Math.floor(max); // 确保最大值是整数
  return Math.floor(Math.random() * (max - min) + min); // 不包括最大值，包括最小值
}

// 查询项目类型
export function getProjectTypeListApi(httpData){
	return uni.$u.http.get("/uni/project/projectType", {params: httpData})
}

// 查询项目列表
export function getProjectListApi(httpData){
	return uni.$u.http.get("/uni/project/project", {params: httpData})
}

// 查询项目列表
export function getProjectDetailApi(httpData){
	return uni.$u.http.get("/uni/project/project/"+httpData.id)
}

